package com.yiren.dbaa.module.device.contract;

import android.content.Context;

import com.yiren.dbaa.R;
import com.yiren.dbaa.currency.api.CommonCallBack;
import com.yiren.dbaa.module.device.bean.DeviceMessageBean;
import com.yiren.dbaa.view.toast.MessageBox;

/**
 * Created by WANGRONGXIANG
 * on 2022/6/20
 * Describe 设备连接契约类
 */
public interface DeviceConnectContract {

    interface Model {

        /**
         * 启动串口连接
         */
        void startSerialConnect(CommonCallBack callBack);

        /**
         * 连接设备
         */
        void connectDevice(DeviceConnectCallback listener);

        /**
         * 解析设备数据
         *
         * @param data
         */
        DeviceMessageBean analysisDeviceData(String data);
    }

    interface View {

        /**
         * 设备连接成功
         */
        void deviceConnectSuccess();
    }

    interface Presenter {

        void connectDevice(View view);
    }

    /**
     * 设备连接监听器
     */
    abstract class DeviceConnectCallback {

        /**
         * 设备连接成功
         */
        public void onDeviceConnectSuccess() {

        }

        /**
         * 设备连接失败
         */
        public void onDeviceConnectFail() {

        }

        /**
         * 此设备不支持串口连接
         */
        public void onDeviceNoSupportAsp() {
//            MessageBox.MessageAndVoiceModel(context, context.getString(R.string.nonsupport_serial_port));
        }

        /**
         * 设备连接完成
         */
        public void onDeviceConnectComplete() {

        }
    }
}
